package main.reflectTest;

import java.lang.reflect.*;

public class TestReflectTest {
    public static void main(String[] args) {

       try{
           Proed proed = new ProedImpl();
           InvocationHandler handler = new ProxyDemo(proed);
           /**
            * 参数1：代理对象的类加载器
            * 参数2：被代理对象的接口
            * 参数3：代理对象
            * 返回的是成功被代理后的对象，返回的是Object类型，强制类型转换
            */
           Proed proed1= (Proed) Proxy.newProxyInstance(
                   handler.getClass().getClassLoader(),
                   proed.getClass().getInterfaces(),
                   handler);
           proed1.test1();
           proed1.test2();
       }catch (Exception e){
           e.printStackTrace();
       }

    }
}
